昨天只教了tableView怎麼設定代理和註冊tableViewCell,但如果只有這樣,肯定是會報錯的,因為我們沒有給他顯示內容的func,接下來教怎麼設定顯示的內容。
先拉一個Label
@IBOutlet weak var lbTest: UILabel!
然後設定換行
override func awakeFromNib() {
super.awakeFromNib()
lbTest.numberOfLines = 0 // 多行顯示
}
extension MainViewController: UITableViewDelegate, UITableViewDataSource {
// 顯示幾行
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// 利用新增的留言內容數量去控制他要顯示有幾行
return messageArray.count
}
// tableView顯示的內容
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
// 把要用到的tableViewCell命名為一個cell常數,後面好做使用
guard let cell = tbvTest.dequeueReusableCell(withIdentifier: MainTableViewCell.identified, for: indexPath) as? MainTableViewCell else {
return MainTableViewCell()
}
// 將messageArray儲存的每筆資料變為一個常數並呼叫,讓tableView顯示
let message = messageArray[indexPath.row]
cell.lbTest.text = "\(message.name): \(message.content)\n時間: \(message.currentTime)"
return cell
}
}
今天補充了tableView要怎麼顯示內容的擴充function,明天會教元件動作的function和元件動作裡需要的額外function!